#include<cstdio>
#include<cstring>
const long long MAXINT=2100000000;
long long  f[10001];
int a[10000],l1,l2,l3,c1,c2,c3,n,b,e;
long long min(long long x,long long y)
{
     return x<y?x:y;
}
void init()
{
     freopen("test.in","r",stdin);
     freopen("test.out","w",stdout);
     scanf("%d%d%d%d%d%d%d%d%d",&l1,&l2,&l3,&c1,&c2,&c3,&n,&b,&e);
     if(b>e)
     {
            int t=b;
            b=e;
            e=t;
     }
     for(int i=1;i<n;i++)     
         scanf("%d",&a[i]);
}
void dp()
{
     f[b]=0;
     for(int i=b+1;i<=e;i++)
     {
             f[i]=MAXINT;
             for(int j=i-1;j>=b;j--)
             {
                     int len=a[i-1]-a[j-1];
                     if(len>l3)break;
                     if(len<=l1)f[i]=min(f[i],f[j]+c1);
                     if(len<=l2)f[i]=min(f[i],f[j]+c2);
                     f[i]=min(f[i],f[j]+c3);
             }
     }
     printf("%d\n",f[e]);
}    
int main()
{
    init();
    dp();
    return 0;
}
    
